package br.com.ia.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import br.com.enovar.trex.core.model.BaseModel;

@Entity
@Table(name = "item_regra")
@SequenceGenerator(name = "SEQ_ITEM_REGRA", sequenceName = "SEQ_ITEM_REGRA")
public class ItemRegra extends BaseModel {

	private Integer codigo;

	private Regra regra;

	private Variavel variavel;

	private Operador operador;

	private Valor valor;

	private String conectivo;

	private ItemRegra itemRegraPai;
	
	private Integer sequence;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "SEQ_ITEM_REGRA")
	@Column(name = "cd_item_regra")
	public Integer getCodigo() {
		return codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	@ManyToOne
	@JoinColumn(name = "cd_regra")
	public Regra getRegra() {
		return regra;
	}

	public void setRegra(Regra regra) {
		this.regra = regra;
	}

	@ManyToOne
	@JoinColumn(name = "cd_variavel")
	public Variavel getVariavel() {
		return variavel;
	}

	public void setVariavel(Variavel variavel) {
		this.variavel = variavel;
	}

	@ManyToOne
	@JoinColumn(name = "cd_operador")
	public Operador getOperador() {
		return operador;
	}

	public void setOperador(Operador operador) {
		this.operador = operador;
	}

	@ManyToOne
	@JoinColumn(name = "cd_valor")
	public Valor getValor() {
		return valor;
	}

	public void setValor(Valor valor) {
		this.valor = valor;
	}

	@Column(name = "cd_conectivo")
	public String getConectivo() {
		return conectivo;
	}

	public void setConectivo(String conectivo) {
		this.conectivo = conectivo;
	}

	@ManyToOne
	@JoinColumn(name = "cd_item_regra_pai")
	public ItemRegra getItemRegraPai() {
		return itemRegraPai;
	}

	public void setItemRegraPai(ItemRegra itemRegraPai) {
		this.itemRegraPai = itemRegraPai;
	}

	@Column(name="cd_sequence")
	public Integer getSequence() {
		return sequence;
	}

	public void setSequence(Integer sequence) {
		this.sequence = sequence;
	}
	
}
